//
//  main.m
//  03-NSStringAndNSValue
//
//  Created by mafeng on 16/7/6.
//  Copyright © 2016年 mafeng. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    // 1. 查看头文件或者api, 他们的初始化/构造器, 基本上都放在一起
    // 2. 当我们拿到一个新的类, 你需要去查看这个类的初始化或者构造器
    /** 初始化(init) */
    NSString *str = [[NSString alloc] init];
    /** 便利构造器(string) */
    NSString *string = [NSString string];
    /** 获取字符串长度(length) */
    NSUInteger length = str.length;
    /** 获取字符串中字符(character) */
    //[str characterAtIndex:0];
    /** 字符串是否相等(equal) */
    [str isEqualToString:string];
    /** 获取子串(sub) */
    
    /** 拼接字符串(append) */
    [str stringByAppendingString:string];
    [str stringByAppendingFormat:@"mafeng%@",str];
    // / Users/local/bin/
    NSString *pathString = @"Users/local/bin";
    // 如果字符串带有返回值, 操作的不是原字符串, 而是生成新的字符串
    // 这个方法会自己生成/
    pathString = [pathString stringByAppendingPathComponent:@"name.plist"];
    NSLog(@"%@", pathString);
    /** 替换字符串(replace) */
   //pathString stringByReplacingCharactersInRange:<#(NSRange)#> withString:<#(nonnull NSString *)#>
    /** 字符串对象转化为int类型(int) */
    [pathString intValue];
    /** 字符串对象转化为其他数据类型, 例如double, float, BOOL等. */
    double dd = [pathString doubleValue];
    NSLog(@"%lf", dd);
    [pathString floatValue];
    [pathString boolValue];
    /** 字符串全部大写(uppercase) */
    [pathString uppercaseString];
    /** 字符串全部小写(lowercase) */
    [pathString lowercaseString];
    /** 字符串首字母大写(capitalized) */
    [pathString capitalizedString];
    /** 是否以指定字符串为前缀(prefix) */
    [pathString hasPrefix:@"a"];
    /** 是否以指定字符串为后缀(suffix) */
    [pathString hasSuffix:@"a"];
    
    
    int age = 10;
    // number类型字面量 @"" @()
    NSNumber *ageNumber = @(age);
    // number类型构造器方法
    NSNumber *ageNumber2 = [NSNumber numberWithInt:age];
    // number类型初始化方法
    NSNumber *ageNumber3 = [[NSNumber alloc] initWithInt:age];
    
    // 1.330184198501184115 处理字符串, 取出他的出生年月, 并计算出年龄(不用具体)
    // 输出格式 1985年01月18日 年龄:31岁
    NSString *identityString = @"330184198501184115";
    NSRange yearRange = {6, 4};
    NSRange monthRange = {10, 2};
    NSRange dayRange = NSMakeRange(12, 2);
    NSString *yearNumber = [identityString substringWithRange:yearRange];
    NSString *monthNumber = [identityString substringWithRange:monthRange];
    NSString *dayNumber = [identityString substringWithRange:dayRange];
    NSInteger manAge = 2016 - yearNumber.intValue;
    NSLog(@"%@年%@月%@日 年龄:%ld岁", yearNumber, monthNumber, dayNumber, manAge);
    
    //NSData *data = [NSData date];
    //NSLog(@"%@", data);
    NSCalendar *cal = [NSCalendar currentCalendar];
    NSLog(@"%@", cal);
    
    
    
    return 0;
}
